El “Potenciar Trabajo” en datos. Miradas relacionales entre concepciones y números para comprender su constitución

Cynthia Ferrari Mango y Ariana Bardauil

2023-09-24

Resultados

Perfil de os y las titulares del programa

En este apartado, caracterizamos el perfil de los y las titulares teniendo en cuenta la edad, el género y la nacionalidad. En lo que refiere ….. A nivel país, en la siguiente Pirámide Poblacional de los Titulares del potenciar trabajo de Argentina (2020 y 2022).

El 86% de los titulares es Argentino. El 4.7% no tiene información sobre la nacionalidad

Género y sexo

## [1] "61.17 %" "38.51 %" "0.18 %"  "0.07 %"  "0.05 %"  "0.03 %"  "100 %"
Distribución del Género
Datos de género y frecuencia
Género Cantidad Porcentaje
Mujer 970,555 61.17 %
Varón 611,010 38.51 %
Feminidad trans/travesti 2,867 0.18 %
Masculinidad trans 1,086 0.07 %
No Binarie 721 0.05 %
Otro 437 0.03 %
Total 1,586,676 100 %
## [1] "5111 corresponden a disidencias. Es decir, el 0.32 %"

Provincia de buenos aires

Titulares por provincia

##  [1] "50.57 %" "5.05 %"  "4.55 %"  "3.8 %"   "3.75 %"  "3.71 %"  "3.66 %" 
##  [8] "3.51 %"  "3.46 %"  "2.55 %"  "2.06 %"  "1.99 %"  "1.97 %"  "1.53 %" 
## [15] "1.34 %"  "1.24 %"  "1.07 %"  "0.92 %"  "0.85 %"  "0.8 %"   "0.6 %"  
## [22] "0.55 %"  "0.29 %"  "0.19 %"  "100 %"
Distribución por Provincia
Cantidad y Porcentaje de titulares
Provincia Cantidad Porcentaje
Buenos Aires 802,380 50.57 %
Tucumán 80,126 5.05 %
Ciudad de Buenos Aires 72,152 4.55 %
Jujuy 60,231 3.8 %
Salta 59,494 3.75 %
Santa Fe 58,883 3.71 %
Chaco 58,009 3.66 %
Córdoba 55,716 3.51 %
Misiones 54,848 3.46 %
Santiago del Estero 40,398 2.55 %
Entre Ríos 32,752 2.06 %
Mendoza 31,513 1.99 %
Corrientes 31,307 1.97 %
San Juan 24,293 1.53 %
Formosa 21,210 1.34 %
Neuquén 19,610 1.24 %
Río Negro 16,970 1.07 %
La Rioja 14,644 0.92 %
Catamarca 13,542 0.85 %
Chubut 12,681 0.8 %
San Luis 9,481 0.6 %
Santa Cruz 8,738 0.55 %
La Pampa 4,601 0.29 %
Tierra del Fuego 3,035 0.19 %
Total 1,586,614 100 %

Evolución de los titulares / permanencia en el programa

Titulares por periodo y jurisdicción gráfico lineal

Distribución geográfica

Provincias Titulares 2020 Titulares 2021 Titulares 2022 Porcentaje 2020 Porcentaje 2021 Porcentaje 2022
Ciudad Autónoma de Buenos Aires 36986 63105 64817 4.7374097 4.6248422 4.3951148
Buenos Aires 425489 700762 739912 54.4994249 51.3574778 50.1719951
Catamarca 5594 11652 12788 0.7165163 0.8539523 0.8671294
Córdoba 22680 46439 51562 2.9050033 3.4034236 3.4963190
Corrientes 15386 25595 29437 1.9707399 1.8758075 1.9960658
Chaco 26440 49599 55307 3.3866088 3.6350138 3.7502602
Chubut 4606 10172 11230 0.5899667 0.7454860 0.7614845
Entre Ríos 12207 26690 30759 1.5635527 1.9560580 2.0857080
Formosa 8986 17460 20447 1.1509859 1.2796093 1.3864713
Jujuy 27986 51057 56480 3.5846306 3.7418678 3.8297991
La Pampa 2079 3804 3975 0.2662920 0.2787877 0.2695370
La Rioja 6470 12518 13814 0.8287201 0.9174198 0.9367005
Mendoza 13150 26178 29658 1.6843383 1.9185345 2.0110514
Misiones 23115 45955 51982 2.9607210 3.3679522 3.5247984
Neuquén 7578 15938 17719 0.9706400 1.1680649 1.2014910
Río Negro 7909 14749 15241 1.0130367 1.0809254 1.0334626
Salta 27414 50718 56588 3.5113651 3.7170231 3.8371223
San Juan 11620 21305 22890 1.4883659 1.5614018 1.5521264
San Luis 4540 7868 8793 0.5815130 0.5766303 0.5962362
Santa Cruz 2618 7917 7835 0.3353306 0.5802215 0.5312761
Santa Fe 20495 46041 54784 2.6251342 3.3742549 3.7147966
Santiago del Estero 18670 34547 39144 2.3913762 2.5318821 2.6542786
Tucumán 47670 72016 76991 6.1058866 5.2779119 5.2206101
Tierra del Fuego, Antártida e Islas del Atlántico Sur 1034 2394 2598 0.1324415 0.1754516 0.1761653
Total 780722 1364479 1474751 100.0000000 100.0000000 100.0000000

Mapa en función del % poblacional

ano total total_pob tot_prop geometry
2020 780722 45376763 1.7 MULTIPOLYGON (((-68.60814 -…
2022 1474751 46234830 3.2 MULTIPOLYGON (((-68.60814 -…

Mapa Provincial

ano total total_pob tot_prop
2020 425489 17541141 2.4
2021 700762 17709598 4.0
2022 739912 17875743 4.1

Montos

https://www.indec.gob.ar/indec/web/Nivel4-Tema-3-5-31

LS0tDQp0aXRsZTogIkVsIOKAnFBvdGVuY2lhciBUcmFiYWpv4oCdIGVuIGRhdG9zLiBNaXJhZGFzIHJlbGFjaW9uYWxlcyBlbnRyZSBjb25jZXBjaW9uZXMgeSBuw7ptZXJvcyBwYXJhIGNvbXByZW5kZXIgc3UgY29uc3RpdHVjacOzbiINCmF1dGhvcjogICJDeW50aGlhIEZlcnJhcmkgTWFuZ28geSBBcmlhbmEgQmFyZGF1aWwiDQpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiDQpsYW5nOiAiZXMiDQpvdXRwdXQ6DQogIHJtZGZvcm1hdHM6OmRvd25jdXRlOg0KICAgIGxpZ2h0Ym94OiBUUlVFDQogICAgaGlnaGxpZ2h0OiB0YW5nbw0KICAgIHRvYzogMw0KICAgIG51bWJlci1zZWN0aW9uczogVFJVRQ0KICAgIGNvZGUtZm9sZGluZzogaGlkZQ0KICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUNCmVkaXRvcl9vcHRpb25zOiANCiAgbWFya2Rvd246IA0KICAgIHdyYXA6IDcyDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQod2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZWNobyA9IEZBTFNFKQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KGphbml0b3IpDQpsaWJyYXJ5KHdhZmZsZSkNCmxpYnJhcnkocGxvdGx5KQ0KbGlicmFyeShzZikNCmxpYnJhcnkoc3RyaW5ncikNCmxpYnJhcnkobHVicmlkYXRlKQ0KbGlicmFyeShnZW9BcikNCmxpYnJhcnkoZ2dyZXBlbCkNCmxpYnJhcnkoZ3QpDQpsaWJyYXJ5KHNjYWxlcykNCmxpYnJhcnkocmVhZHhsKQ0KDQpvcHRpb25zKHNjaXBlbj05OTkpDQpgYGANCg0KIyBSZXN1bHRhZG9zDQoNCiMjIFBlcmZpbCBkZSBvcyB5IGxhcyB0aXR1bGFyZXMgZGVsIHByb2dyYW1hDQoNCkVuIGVzdGUgYXBhcnRhZG8sIGNhcmFjdGVyaXphbW9zIGVsIHBlcmZpbCBkZSBsb3MgeSBsYXMgdGl0dWxhcmVzIHRlbmllbmRvIGVuIGN1ZW50YSBsYSBlZGFkLCBlbCBnw6luZXJvIHkgbGEgbmFjaW9uYWxpZGFkLiBFbiBsbyBxdWUgcmVmaWVyZSDigKYuLg0KQSBuaXZlbCBwYcOtcywgZW4gbGEgc2lndWllbnRlIFBpcsOhbWlkZSBQb2JsYWNpb25hbCBkZSBsb3MgVGl0dWxhcmVzIGRlbCBwb3RlbmNpYXIgdHJhYmFqbyBkZSBBcmdlbnRpbmEgKDIwMjAgeSAyMDIyKS4NCg0KDQpFbCA4NiUgZGUgbG9zIHRpdHVsYXJlcyBlcyBBcmdlbnRpbm8uIEVsIDQuNyUgbm8gdGllbmUgaW5mb3JtYWNpw7NuIHNvYnJlIGxhIG5hY2lvbmFsaWRhZA0KDQo8IS0tIEhhYnLDrWEgcXVlIGxpbXBpYXJsby4gTm8gdGllbmUgc2VudGlkbyB1c2FybG8gLS0+DQoNCiMjIyBHw6luZXJvIHkgc2V4bw0KDQpgYGB7cn0NCg0KI3RpdHVsYXJlcyBzZSBwdWVkZW4gc2FjYXIgZGF0b3MgZGVsIHBlcmZpbCBkZSBsYSBwZXJzb25hIChzZXhvLCBlZGFkIHkgbXVuaWNpcGlvKQ0KDQp0aXR1bGFyZXNfcGVyc29uYXMgPC0gcmVhZF9jc3YoImRhdGEvcG90ZW5jaWFyLXRyYWJham8tbGlzdGFkby10aXR1bGFyZXMtMjAyMi0xMC0wMS5jc3YiKQ0KDQojIFNleG8NCmJhc2Vfc2V4byA8LSB0aXR1bGFyZXNfcGVyc29uYXMgfD4NCiAgIyBJbXB1dG8gc2V4byBhIGfDqW5lcm8gZW4gbG9zIGNhc29zIGVuIGxvcyBxdWUgbm8gaGF5IHZhbG9yZXMNCiAgbXV0YXRlKGdlbmVybyA9IGlmZWxzZShpcy5uYShnZW5lcm8pLCBzZXhvLCBnZW5lcm8pLA0KICAgICAgICAgZ2VuZXJvID1pZmVsc2UoZ2VuZXJvID09ICJGIiwgIk11amVyIiwgaWZlbHNlKGdlbmVybyA9PSAiTSIsICJWYXLDs24iLCBnZW5lcm8pKSkNCg0KDQojIE11ZXN0cm8gbGEgZGlzdHJpYnVjacOzbiBkZWwgZ8OpbmVybw0KdGFibGFfZ2VuZXJvIDwtIGJhc2Vfc2V4byB8PiANCiAgdGFieWwoZ2VuZXJvKSB8PiANCiAgYXJyYW5nZShkZXNjKG4pKSAgICU+JQ0KICBhZG9ybl90b3RhbHMgfD4gDQogIG11dGF0ZShwZXJjZW50ID0gcHJpbnQocGFzdGUocm91bmQocGVyY2VudCoxMDAsMiksICIlIikpKSB8PiANCiAgcmVuYW1lKA0KICAgICJDYW50aWRhZCIgPSBuLA0KICAgICJQb3JjZW50YWplIiA9IHBlcmNlbnQsDQogICAgIkfDqW5lcm8iID0gZ2VuZXJvDQogICkgfD4gDQogIGd0KCkgJT4lDQogIHRhYl9oZWFkZXIoDQogICAgdGl0bGUgPSAiRGlzdHJpYnVjacOzbiBkZWwgR8OpbmVybyIsDQogICAgc3VidGl0bGUgPSAiRGF0b3MgZGUgZ8OpbmVybyB5IGZyZWN1ZW5jaWEiDQogICkgJT4lDQogIGZtdF9udW1iZXIoDQogICAgY29sdW1ucyA9IGMoQ2FudGlkYWQpLA0KICAgIGRlY2ltYWxzID0gMCkgfD4gDQogIGZtdF9udW1iZXIoDQogICAgY29sdW1ucyA9IGMoUG9yY2VudGFqZSksDQogICAgZGVjaW1hbHMgPSAyKQ0KDQojbXVlc3Rybw0KdGFibGFfZ2VuZXJvDQoNCiMgR3VhcmRvIHRhYmxhDQpndHNhdmUodGFibGFfZ2VuZXJvLGZpbGVuYW1lID0gImdyYWZpY29zL2Rpc3RyaWJ1Y2lvbl9nZW5lcm8uaHRtbCIpDQoNCiMgQm9ycm8NCnJtKHRhYmxhX2dlbmVybykNCg0KI1BvcmNlbnRhamUgZGUgZGlzY2lkZW5jaWFzDQpwcmludChwYXN0ZSgyODY3KzEwODYrNzIxKzQzNywgImNvcnJlc3BvbmRlbiBhIGRpc2lkZW5jaWFzLiBFcyBkZWNpciwgZWwiLCAocm91bmQoKCgyODY3KzEwODYrNzIxKzQzNykvMTU4NjY3NikqMTAwLDIpKSwiJSIpKQ0KDQoNCmBgYA0KDQoNCmBgYHtyIGluY2x1ZGU9RkFMU0V9DQoNCiMgQ3JlbyBlbCByYW5nbyBldGFyaW8gcGFyYSBoYWNlciBsYSBwaXJhbWlkZSBwb2JsYWNpb25hbA0KdGl0dWxhcmVzX3BlcnNvbmFzIDwtIHRpdHVsYXJlc19wZXJzb25hcyB8PiANCiAgZmlsdGVyKCFpcy5uYShlZGFkKSkgfD4gDQogIG11dGF0ZShyYW5nb19ldGFyaW8gPSBjYXNlX3doZW4oDQogICAgICBlZGFkIDwgMjUgfiAiMTgtMjQiLA0KICAgICAgZWRhZCA8IDM1IH4gIjI1LTM0IiwNCiAgICAgIGVkYWQgPCA0NSB+ICIzNS00NCIsDQogICAgICBlZGFkIDwgNTUgfiAiNDUtNTQiLA0KICAgICAgZWRhZCA8IDY1IH4gIjU1LTY0IiwNCiAgICAgIGVkYWQgPj0gNjUgfiAiNjUtNzIiDQogICAgKSwNCiAgICByYW5nb19ldGFyaW8gPSBmYWN0b3IoDQogICAgICByYW5nb19ldGFyaW8sDQogICAgICBsZXZlbHMgPSBjKCIxOC0yNCIsDQogICAgICAgICAgICAgICAgICIyNS0zNCIsDQogICAgICAgICAgICAgICAgICIzNS00NCIsDQogICAgICAgICAgICAgICAgICI0NS01NCIsDQogICAgICAgICAgICAgICAgICI1NS02NCIsDQogICAgICAgICAgICAgICAgICI2NS03MiINCiAgICAgICAgICAgICAgICAgKQ0KICAgICkNCiAgKQ0KDQojZXNxdWlzc2U6OmVzcXVpc3Nlcih4KQ0KDQoNCg0KDQojIEFybW8gbGEgcGlyYW1pZGUNCg0KcGlyYW1pZGVfbmFjIDwtIHRpdHVsYXJlc19wZXJzb25hcyB8Pg0KICBncm91cF9ieShyYW5nb19ldGFyaW8sIHNleG8pIHw+DQogIHN1bW1hcmlzZShOID0gbigpKSB8Pg0KICBtdXRhdGUoTiA9IGlmZWxzZShzZXhvID09ICJNIiwtTiwgTikpIHw+DQogIHJlbmFtZSgNCiAgICAiUmFuZ28gZXRhcmlvIiA9IHJhbmdvX2V0YXJpbywNCiAgICAic2V4byIgPSBzZXhvLA0KICAgICJDYW50aWRhZCBkZSB0aXR1bGFyZXMiID0gTg0KICApIHw+IA0KICBnZ3Bsb3QoKSArDQogIGFlcyh4ID0gYFJhbmdvIGV0YXJpb2AsIHkgPSBgQ2FudGlkYWQgZGUgdGl0dWxhcmVzYCwgZmlsbCA9IHNleG8pICsNCiAgZ2VvbV9jb2woKSArDQogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IGMoRiA9ICIjYjIyOTg3IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNID0gIiMyOTg3YjIiKSkgKw0KIGxhYnMoeCA9ICIgIiwgeSA9ICIgIiwgdGl0bGUgPSAiUGlyYW1pZGUgcG9ibGFjaW9uYWwgZGUgQXJnZW50aW5hIiwNCiAgICAgIHN1YnRpdGxlID0gIlRpdHVsYXJlcyBkZWwgUG90ZW5jaWFyIFRyYWJham8gZW50cmUgZWwgYcOxbyAyMDIwIHkgMjAyMiAoZW4gbWlsZXMpIiwNCiAgICAgIGNhcHRpb24gPSAiRnVlbnRlOiBFbGFib3JhY2nDs24gcHJvcGlhIGVuIGJhc2UgYSBkYXRvcyBhYmllcnRvcyBkZWwgTWluaXN0ZXJpbyBkZSBEZXNhcnJvbGxvIFNvY2lhbCBkZSBsYSBOYWNpw7NuIiwgDQogZmlsbCA9ICJTZXhvIikgICsNCiAgY29vcmRfZmxpcCgpICsNCiAgZ2d0aGVtZXM6OnRoZW1lX3BhbmRlcigpKw0KICB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAicmlnaHQiLA0KICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE2TCwgZmFjZSA9ICJib2xkIiwgaGp1c3QgPSAwLjUpLA0KICAgIHBsb3Quc3VidGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE0TCwgZmFjZSA9ICJpdGFsaWMiLCBoanVzdCA9IDAuNSksDQogICAgcGxvdC5jYXB0aW9uID0gZWxlbWVudF90ZXh0KHNpemUgPSA4TCksDQogICAgYXhpcy50aXRsZS55ID0gZWxlbWVudF90ZXh0KHNpemUgPSA5TCksDQogICAgYXhpcy50aXRsZS54ID0gZWxlbWVudF90ZXh0KHNpemUgPSA5TCksDQogICAgdGV4dCA9IGVsZW1lbnRfdGV4dChzaXplID04TCkNCiAgKSArDQogIHNjYWxlX3lfY29udGludW91cyhicmVha3MgPSBjKCAtNTAwMDAsIC0xMDAwMDAsIC0xNTAwMDAsIC0yMDAwMDAsIC0yNTAwMDAsIC0zMDAwMDAsIC0zNTAwMDAsMCwgNTAwMDAsIDEwMDAwMCwgMTUwMDAwLCAyMDAwMDAsIDI1MDAwMCwgMzAwMDAwLCAzNTAwMDApLA0KICAgICAgICAgICAgICAgICAgICAgbGFiZWxzID0gYyg1MCwgMTAwLCAxNTAsIDIwMCwgMjUwLCAzMDAsIDM1MCwwLCA1MCwgMTAwLCAxNTAsIDIwMCwgMjUwLCAzMDAsIDM1MCksDQogICAgICAgICAgICAgICAgICAgICBsaW1pdHMgPSBjKC0zNTAwMDAsMzUwMDAwKQ0KICAgICAgICAgICAgICAgICAgICApIA0KDQpnZ3NhdmUocGxvdCA9IHBpcmFtaWRlX25hYywgImdyYWZpY29zL3BpcmFtaWRlLWFyZ2VudGluYS5wbmciKQ0KDQpwbG90bHlfbmFjIDwtIGdncGxvdGx5KHBpcmFtaWRlX25hYykNCg0KcGxvdGx5X25hYw0Kcm0ocGlyYW1pZGVfbmFjKQ0KDQojR3VhcmRvIGh0bWwNCg0KYGBgDQoNCiMjIyBQcm92aW5jaWEgZGUgYnVlbm9zIGFpcmVzDQoNCmBgYHtyfQ0KDQojUGlyYW1pZGUgZGUgbGEgcHJvdmluY2lhIGRlIGJ1ZW5vcyBhaXJlcw0KdGl0dWxhcmVzX3BiYSA8LSB0aXR1bGFyZXNfcGVyc29uYXMgfD4NCiAgZmlsdGVyKHByb3ZpbmNpYV9pZCA9PSAiMDYiKSB8PiANCiAgZ3JvdXBfYnkocmFuZ29fZXRhcmlvLCBzZXhvKSB8Pg0KICBzdW1tYXJpc2UoTiA9IG4oKSkgfD4NCiAgbXV0YXRlKE4gPSBpZmVsc2Uoc2V4byA9PSAiTSIsLU4sIE4pKSB8Pg0KICByZW5hbWUoDQogICAgIlJhbmdvIGV0YXJpbyIgPSByYW5nb19ldGFyaW8sDQogICAgInNleG8iID0gc2V4bywNCiAgICAiQ2FudGlkYWQgZGUgdGl0dWxhcmVzIiA9IE4NCiAgKSANCg0KIyBBcm1vIHBpcmFtaWRlIGRlIHByb3ZpbmNpYSBkZSBidWVub3MgYWlyZXMNCnBpcmFtaWRhX3BiYSA8LSB0aXR1bGFyZXNfcGJhIHw+IA0KICBnZ3Bsb3QoKSArDQogIGFlcyh4ID0gYFJhbmdvIGV0YXJpb2AsIHkgPSBgQ2FudGlkYWQgZGUgdGl0dWxhcmVzYCwgZmlsbCA9IHNleG8pICsNCiAgZ2VvbV9jb2woKSArDQogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IGMoRiA9ICIjYjIyOTg3IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNID0gIiMyOTg3YjIiKSkgKw0KIGxhYnMoeCA9ICIgIiwgeSA9ICIgIiwgdGl0bGUgPSAiUGlyYW1pZGUgcG9ibGFjaW9uYWwgZGUgQnVlbm9zIEFpcmVzIiwNCiAgICAgIHN1YnRpdGxlID0gIlRpdHVsYXJlcyBkZWwgUG90ZW5jaWFyIFRyYWJham8gZW50cmUgZWwgYcOxbyAyMDIwIHkgMjAyMiAoZW4gbWlsZXMpIiwNCiAgICAgIGNhcHRpb24gPSAiRnVlbnRlOiBFbGFib3JhY2nDs24gcHJvcGlhIGVuIGJhc2UgYSBkYXRvcyBhYmllcnRvcyBkZWwgTWluaXN0ZXJpbyBkZSBEZXNhcnJvbGxvIFNvY2lhbCBkZSBsYSBOYWNpw7NuIiwgDQogZmlsbCA9ICJTZXhvIikgICsNCiAgY29vcmRfZmxpcCgpICsNCiAgZ2d0aGVtZXM6OnRoZW1lX3BhbmRlcigpKw0KICB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAicmlnaHQiLA0KICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE2TCwgZmFjZSA9ICJib2xkIiwgaGp1c3QgPSAwLjUpLA0KICAgIHBsb3Quc3VidGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE0TCwgZmFjZSA9ICJpdGFsaWMiLCBoanVzdCA9IDAuNSksDQogICAgcGxvdC5jYXB0aW9uID0gZWxlbWVudF90ZXh0KHNpemUgPSA4TCksDQogICAgYXhpcy50aXRsZS55ID0gZWxlbWVudF90ZXh0KHNpemUgPSA5TCksDQogICAgYXhpcy50aXRsZS54ID0gZWxlbWVudF90ZXh0KHNpemUgPSA5TCksDQogICAgdGV4dCA9IGVsZW1lbnRfdGV4dChzaXplID04TCkNCiAgKSArDQogIHNjYWxlX3lfY29udGludW91cyhicmVha3MgPSBjKCAtNTAwMDAsIC0xMDAwMDAsIC0xNTAwMDAsIC0yMDAwMDAsIDAsIDUwMDAwLCAxMDAwMDAsIDE1MDAwMCwgMjAwMDAwKSwNCiAgICAgICAgICAgICAgICAgICAgIGxhYmVscyA9IGMoNTAsIDEwMCwgMTUwLCAyMDAsIDAsIDUwLCAxMDAsIDE1MCwgMjAwKSwNCiAgICAgICAgICAgICAgICAgICAgIGxpbWl0cyA9IGMoLTIwMDAwMCwyMDAwMDApDQogICAgICAgICAgICAgICAgICAgICkgDQpnZ3NhdmUocGxvdD0gcGlyYW1pZGFfcGJhLCAiZ3JhZmljb3MvcGlyYW1pZGUtYmFpcmVzLnBuZyIpDQoNCiMgTXVlc3Rybw0KZ2dwbG90bHkocGlyYW1pZGFfcGJhKQ0KDQpybShwaXJhbWlkYV9wYmEpDQoNCmBgYA0KDQojIyMgVGl0dWxhcmVzIHBvciBwcm92aW5jaWENCg0KYGBge3J9DQojTW9kaWZpY28gZXJyb3JlcyBkZSBub21icmVzDQp0aXR1bGFyZXNfcGVyc29uYXMgPC0gdGl0dWxhcmVzX3BlcnNvbmFzIHw+DQogIG11dGF0ZShwcm92aW5jaWEgPSBpZmVsc2UocHJvdmluY2lhID09ICJDw4PCs3Jkb2JhIiwgIkPDs3Jkb2JhIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UocHJvdmluY2lhID09ICJFbnRyZSBSw4PCrW9zIiwiRW50cmUgUsOtb3MiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UocHJvdmluY2lhID09ICJUdWN1bcODwqFuIiwgIlR1Y3Vtw6FuIiwgcHJvdmluY2lhKSkpKSANCg0KIyBDcmVvIHRhYmxhDQp0aXR1bGFyZXNfcGVyc29uYXMgfD4gDQogIHRhYnlsKHByb3ZpbmNpYSkgfD4gDQogIGFycmFuZ2UoZGVzYyhuKSkgJT4lDQogIGFkb3JuX3RvdGFscyB8PiANCiAgbXV0YXRlKHBlcmNlbnQgPSBwcmludChwYXN0ZShyb3VuZChwZXJjZW50KjEwMCwyKSwgIiUiKSkpIHw+IA0KICByZW5hbWUoDQogICAgIkNhbnRpZGFkIiA9IG4sDQogICAgIlBvcmNlbnRhamUiID0gcGVyY2VudCwNCiAgICAiUHJvdmluY2lhIiA9IHByb3ZpbmNpYQ0KICApIHw+IA0KICBndCgpICU+JQ0KICB0YWJfaGVhZGVyKA0KICAgIHRpdGxlID0gIkRpc3RyaWJ1Y2nDs24gcG9yIFByb3ZpbmNpYSIsDQogICAgc3VidGl0bGUgPSAiQ2FudGlkYWQgeSBQb3JjZW50YWplIGRlIHRpdHVsYXJlcyAiDQogICkgJT4lDQogIGZtdF9udW1iZXIoDQogICAgY29sdW1ucyA9IGMoQ2FudGlkYWQpLA0KICAgIGRlY2ltYWxzID0gMCkgfD4gDQogIGZtdF9udW1iZXIoDQogICAgY29sdW1ucyA9IGMoUG9yY2VudGFqZSksDQogICAgZGVjaW1hbHMgPSAyKQ0KDQoNCmBgYA0KDQo8IS0tIFNlIHBvZHLDrWEgaGFjZXIgY29uIGxhcyBwcm95ZWNjaW9uZXMgZGVsIGluZGVjIGVsICUgZGUgcG9ibGFjacOzbiBxdWUgbG8gcmVjaWJlIHBhcmEgdmVyIHBvcmNlbnR1YWxtZW50ZSBjdWFudG8gcmVwcmVzZW50YSAtLT4NCg0KDQojIyBFdm9sdWNpw7NuIGRlIGxvcyB0aXR1bGFyZXMgLyBwZXJtYW5lbmNpYSBlbiBlbCBwcm9ncmFtYQ0KDQpUaXR1bGFyZXMgcG9yIHBlcmlvZG8geSBqdXJpc2RpY2Npw7NuIGdyw6FmaWNvIGxpbmVhbA0KDQpgYGB7cn0NCiN0aXR1bGFyZXMgcG9yIHBlcmlvZG8geSBqdXJpc2RpY2Npb24gKG11bmljaXBpbykNCnRvdGFsX3RpdHVsYXJlcyA8LSByZWFkX2NzdigiaHR0cHM6Ly9kYXRvc2FiaWVydG9zLmRlc2Fycm9sbG9zb2NpYWwuZ29iLmFyL2RhdGFzZXQvZDQ1Njg3YzAtZjJiYS00MWQ5LTk5ODktMGFkOTc5OTMwOGFlL3Jlc291cmNlL2M0Y2FhNzI0LWRmYmItNGFhYy1iZmU3LTIxNjlmNDE1NGJjNS9kb3dubG9hZC9wb3RlbmNpYXItdHJhYmFqby10aXR1bGFyZXMtYWN0aXZvcy0yMDIyLTEwLTAxLmNzdiIpDQojIFRpdHVsYXJlcyBwb3IgcGVyaW9kbyB5IGp1cmlzZGljY2nDs24gZ3LDoWZpY28gbGluZWFsDQoNCnRpdF9hcmdlbnRpbmEgPC0gdG90YWxfdGl0dWxhcmVzIHw+IA0KICBncm91cF9ieShwZXJpb2RvKSB8PiANCiAgc3VtbWFyaXNlKHRvdGFsX3RpdHVsYXJlcyA9IHN1bSh0aXR1bGFyZXMpLA0KICAgICAgICAgICAganVyaXNkaWNjaW9uID0gIkFyZ2VudGluYSIpIA0KDQpkZl90ZW5kZW5jaWEgPC0gdG90YWxfdGl0dWxhcmVzIHw+IA0KICBmaWx0ZXIocHJvdmluY2lhX2lkID09ICIwNiIpIHw+IA0KICBncm91cF9ieShwZXJpb2RvKSB8PiANCiAgc3VtbWFyaXNlKHRvdGFsX3RpdHVsYXJlcyA9IHN1bSh0aXR1bGFyZXMpLA0KICAgICAgICAgICAganVyaXNkaWNjaW9uID0gIkJ1ZW5vcyBBaXJlcyIpIHw+IA0KICBmdWxsX2pvaW4odGl0X2FyZ2VudGluYSkNCg0KDQpsaW5lYSA8LSBnZ3Bsb3QoZGZfdGVuZGVuY2lhKSArDQogIGFlcyh4ID0gcGVyaW9kbywgeSA9IHRvdGFsX3RpdHVsYXJlcywgY29sb3VyID0ganVyaXNkaWNjaW9uKSArDQogIGdlb21fbGluZSgpICsNCiAgZ2VvbV9wb2ludCgpICsNCiAgc2NhbGVfY29sb3JfYnJld2VyKHBhbGV0dGUgPSAiU2V0MiIsDQogICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSAxKSArDQogIGxhYnMoDQogICAgeCA9ICIgIiwNCiAgICB5ID0gIiAiLA0KICAgIHRpdGxlID0gIkV2b2x1Y2nDs24gZGUgbGEgY2FudGlkYWQgZGUgdGl0dWxhcmVzICIsDQogICAgc3VidGl0bGUgPSAiRGVsIHRvdGFsIGRlbCBwYcOtcyB5IGRlIGxhIFByb3ZpbmNpYSBkZSBCdWVub3MgQWlyZXMgKDIwMjAtMjAyMikiLA0KICAgIGNhcHRpb24gPSAiRnVlbnRlOiBFbGFib3JhY2nDs24gcHJvcGlhIGVuIGJhc2UgYSBkYXRvcyBhYmllcnRvcyBkZWwgTURTTiIsDQogICAgY29sb3IgPSAiSnVyaXNkaWNjacOzbiINCiAgKSArDQogIGdndGhlbWVzOjp0aGVtZV9wYW5kZXIoKSArDQogIHRoZW1lKA0KICAgIGxlZ2VuZC5wb3NpdGlvbiA9ICJ0b3AiLA0KICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE1TCwgZmFjZSA9ICJib2xkIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhqdXN0ID0gMC41KSwNCiAgICBwbG90LnN1YnRpdGxlID0gZWxlbWVudF90ZXh0KHNpemUgPSAxNEwsIGZhY2UgPSAiaXRhbGljIiwgaGp1c3QgPSAwLjUpDQogICkgKw0KICBzY2FsZV94X2RhdGUoZGF0ZV9sYWJlbHMgPSAiJWItJXkiLCBkYXRlX2JyZWFrcyA9ICIzIG1vbnRocyIpICsNCiAgc2NhbGVfeV9jb250aW51b3VzKGxhYmVscyA9IGNvbW1hKQ0KDQpnZ3NhdmUocGxvdCA9IGxpbmVhLCAiZ3JhZmljb3MvbGluZWEucG5nIikNCg0KZ2dwbG90bHkobGluZWEpDQpgYGANCg0KDQojIyBEaXN0cmlidWNpw7NuIGdlb2dyw6FmaWNhIA0KDQoNCg0KYGBge3J9DQpybShiYXNlX3NleG8sIGRmX3RlbmRlbmNpYSwgdGl0dWxhcmVzX3BiYSkNCg0KIyB1bHRpbW8gY29icm8gZGVsIHRpdHVsYXIgKHNlIHBvZHJpYSBtYXBlYXIpDQp0aXR1bGFyZXNfYW5vIDwtIHJlYWRfY3N2KCJodHRwczovL2RhdG9zYWJpZXJ0b3MuZGVzYXJyb2xsb3NvY2lhbC5nb2IuYXIvZGF0YXNldC9kNDU2ODdjMC1mMmJhLTQxZDktOTk4OS0wYWQ5Nzk5MzA4YWUvcmVzb3VyY2UvYzVjOTI1ZTAtN2NlMC00MWU1LWIzZmYtOGViYjUxZDRiZTcyL2Rvd25sb2FkL3BvdGVuY2lhci10cmFiYWpvLXRpdHVsYXJlcy0yMDIyLTEwLTAxLmNzdiIpDQoNCg0KIyBBcm1vIGVsIGdyYWZpY28gZGUgdGl0dWxhcmVzIHRvdGFsZXMNCiANCm1hcGFfcHJvdmluY2lhIDwtIHRpdHVsYXJlc19hbm8gfD4NCiAgbXV0YXRlKGFubyA9IHllYXIocGVyaW9kbykpIHw+IA0KICBncm91cF9ieShwcm92aW5jaWFfaWQsIGFubykgfD4gDQogIHN1bW1hcmlzZSh0b3RfdGl0dWxhcmVzPSBzdW0odGl0dWxhcmVzKSkNCg0KI2FncnVwbyBwb3IgYcOxbw0KbWFwYV9wcm92aW5jaWEgPC0gbWFwYV9wcm92aW5jaWEgfD4NCiAgZ3JvdXBfYnkoYW5vKSB8PiANCiAgbXV0YXRlKHRvdF9wcm9wID0gKHRvdF90aXR1bGFyZXMvc3VtKHRvdF90aXR1bGFyZXMpKSoxMDApDQoNCiMgQXJtbyB1bmEgdGFibGEgDQoNCiMgVmVjdG9yZXMgY29uIG5vbWJyZXMgZGUgcHJvdmluY2lhcyB5IGPDs2RpZ29zDQpub21icmVzX3Byb3ZpbmNpYXMgPC0gYygNCiAgIkNpdWRhZCBBdXTDs25vbWEgZGUgQnVlbm9zIEFpcmVzIiwNCiAgIkJ1ZW5vcyBBaXJlcyIsDQogICJDYXRhbWFyY2EiLA0KICAiQ8OzcmRvYmEiLA0KICAiQ29ycmllbnRlcyIsDQogICJDaGFjbyIsDQogICJDaHVidXQiLA0KICAiRW50cmUgUsOtb3MiLA0KICAiRm9ybW9zYSIsDQogICJKdWp1eSIsDQogICJMYSBQYW1wYSIsDQogICJMYSBSaW9qYSIsDQogICJNZW5kb3phIiwNCiAgIk1pc2lvbmVzIiwNCiAgIk5ldXF1w6luIiwNCiAgIlLDrW8gTmVncm8iLA0KICAiU2FsdGEiLA0KICAiU2FuIEp1YW4iLA0KICAiU2FuIEx1aXMiLA0KICAiU2FudGEgQ3J1eiIsDQogICJTYW50YSBGZSIsDQogICJTYW50aWFnbyBkZWwgRXN0ZXJvIiwNCiAgIlR1Y3Vtw6FuIiwNCiAgIlRpZXJyYSBkZWwgRnVlZ28sIEFudMOhcnRpZGEgZSBJc2xhcyBkZWwgQXRsw6FudGljbyBTdXIiDQopDQoNCnByb3ZpbmNpYV9pZCA8LSBjKA0KICAiMDIiLCAiMDYiLCAiMTAiLCAiMTQiLCAiMTgiLCAiMjIiLCAiMjYiLCAiMzAiLCAiMzQiLCAiMzgiLCAiNDIiLCAiNDYiLA0KICAiNTAiLCAiNTQiLCAiNTgiLCAiNjIiLCAiNjYiLCAiNzAiLCAiNzQiLCAiNzgiLCAiODIiLCAiODYiLCAiOTAiLCAiOTQiDQopDQoNCiNVbm8NCnRhYmxhX2NvZCA8LSBkYXRhLmZyYW1lKHByb3ZpbmNpYV9pZCxub21icmVzX3Byb3ZpbmNpYXMpDQoNCm1hcGFfcHJvdmluY2lhIDwtIG1hcGFfcHJvdmluY2lhIHw+IA0KICBsZWZ0X2pvaW4odGFibGFfY29kKQ0KDQp0YWJsYSA8LSBtYXBhX3Byb3ZpbmNpYSB8PiANCiAgc2VsZWN0KC1wcm92aW5jaWFfaWQpIHw+IA0KICBwaXZvdF93aWRlcihuYW1lc19mcm9tID0gYW5vLCB2YWx1ZXNfZnJvbSA9IGModG90X3RpdHVsYXJlcywgdG90X3Byb3ApKSB8PiANCiAgcmVuYW1lKCJQcm92aW5jaWFzIj0gbm9tYnJlc19wcm92aW5jaWFzLA0KICAgICAgICAgIlBvcmNlbnRhamUgMjAyMCIgPSB0b3RfcHJvcF8yMDIwLA0KICAgICAgICAgIlBvcmNlbnRhamUgMjAyMSIgPSB0b3RfcHJvcF8yMDIxLA0KICAgICAgICAgIlBvcmNlbnRhamUgMjAyMiIgPSB0b3RfcHJvcF8yMDIyLA0KICAgICAgICAgIlRpdHVsYXJlcyAyMDIwIiA9IHRvdF90aXR1bGFyZXNfMjAyMCwNCiAgICAgICAgICJUaXR1bGFyZXMgMjAyMSIgPSB0b3RfdGl0dWxhcmVzXzIwMjEsDQogICAgICAgICAiVGl0dWxhcmVzIDIwMjIiID0gdG90X3RpdHVsYXJlc18yMDIyLCkgfD4gDQogIGFkb3JuX3RvdGFscygpIA0KDQp0YWJsYSB8PiANCiAga2FibGVFeHRyYTo6a2FibGUoKQ0KDQojVGFibGEgcGFyYSBwb25lciBlbiBlbCB0cmFiYWpvIA0KDQp3cml0ZXhsOjp3cml0ZV94bHN4KHRhYmxhLCAiYmFzZXMtcGFyYS1jeW4vdGl0dWxhcmVzeHByb3ZpbmNpYXlhbm8ueGxzeCIpDQoNCg0KDQoNCmBgYA0KDQojIyMgTWFwYSBlbiBmdW5jacOzbiBkZWwgJSBwb2JsYWNpb25hbA0KDQpgYGB7cn0NCiMgVHJhaWdvIGVsIG1hcGEgZGUgYXJnZW50aW5hIGNvbiBwcm92aW5jaWFzDQptYXBhX2FyZyA8LSBnZXRfZ2VvKCJBUkdFTlRJTkEiLCBsZXZlbCA9ICJwcm92aW5jaWEiKSB8PiANCiAgcmVuYW1lKCJwcm92aW5jaWFfaWQiID0gY29kcHJvdl9jZW5zbykNCg0KY29kaWdvc19tYXBhIDwtIHNob3dfYXJnX2NvZGVzKHZpZXdlciA9IEZBTFNFLCBuaXZlbCA9ICJwcm92aW5jaWFzIikNCmBgYA0KDQoNCg0KYGBge3J9DQojIFRyYWlnbyBjc3YgcXVlIGFybWFtb3MgZW4gbGEgY2xhc2UgZGUgc2FsdWQgY29uIFINCnBvYmxhY2lvbl9pbmRlYyA8LSByZWFkX2NzdigiZGF0YS9yZXN1bHRhZG8uY3N2IikNCg0KIyBNZSB0cmFpZ28gbG9zIHRvdGFsZXMgcG9ibGFjaW9uYWxlcw0KcG9ibGFjaW9uIDwtIHBvYmxhY2lvbl9pbmRlYyB8PiANCiAgZmlsdGVyKCFqdXJpID09ICIwMSIpIHw+IA0KICAjIEHDsW8gMjAyMiB5IDIwMjAgcGFyYSB2ZXIgbGFzIGRvcyBmb3Rvcw0KICBmaWx0ZXIoYW5vID09IDIwMjIgfCBhbm8gPT0gMjAyMCkgfD4gDQogICMgVG90YWwgcG9yIHNlbw0KICBmaWx0ZXIoc2V4b19ub21icmUgPT0gIkFtYm9zIHNleG9zIikgfD4NCiAgZ3JvdXBfYnkoYW5vLGp1cmksIGp1cmlfbm9tYnJlKSB8PiANCiAgc3VtbWFyaXNlKHBvYmxhY2lvbiA9IHN1bShwb2JsYWNpb24pKSB8PiANCiAgI1BhcmEgcG9kZXIgam9pbmVhcg0KICByZW5hbWUoInByb3ZpbmNpYV9pZCIgPSBqdXJpKQ0KDQoNCg0KIyBBcm1hbW9zIGxhIHByb3BvcmNpw7NuIGRlIHRpdHVsYXJlcyBzb2JyZSBsYSBwb2JsYWNpw7NuIHByb3llY3RhZGENCm1hcGFfcHJvdmluY2lhX3BvYiA8LSBtYXBhX3Byb3ZpbmNpYSB8Pg0KICBmaWx0ZXIoYW5vICVpbiUgYygyMDIwLCAyMDIyKSkgfD4gDQogIGxlZnRfam9pbihwb2JsYWNpb24pIHw+IA0KICBncm91cF9ieShhbm8sIHByb3ZpbmNpYV9pZCkgfD4gDQogIG11dGF0ZShwcm9wX3BvbmxhY2lvbmFsID0gKHRvdF90aXR1bGFyZXMvcG9ibGFjaW9uKSkNCg0KDQptYXBhX3Byb3ZpbmNpYV9wb2IkcHJvcF9wb25sYWNpb25hbCA8LSByb3VuZChtYXBhX3Byb3ZpbmNpYV9wb2IkcHJvcF9wb25sYWNpb25hbCoxMDAsMikNCg0KI2d1YXJkbyBleGNlbCkqDQp3cml0ZXhsOjp3cml0ZV94bHN4KG1hcGFfcHJvdmluY2lhX3BvYiwgImJhc2VzLXBhcmEtY3luL3RvdF90aXR1bGFyZXNfcHJvdmluY2lhX2luZGVjLnhsc3giKQ0KDQojVW5vIGNvbiBlbCBtYXBhIA0KbWFwYV9wb2IgPC0gbWFwYV9hcmcgfD4gDQogIGxlZnRfam9pbihtYXBhX3Byb3ZpbmNpYV9wb2IpDQoNCm1hcGFfbmFjIDwtIGdncGxvdChtYXBhX3BvYikgKw0KICBnZW9tX3NmKGFlcyhmaWxsID0gcHJvcF9wb25sYWNpb25hbCkpICsNCiAgZ2VvbV9zZl90ZXh0KA0KICAgIGFlcyhsYWJlbCA9IHBhc3RlMChwcm9wX3BvbmxhY2lvbmFsLCAiJSIpKSwNCiAgICBzaXplID0gMS44LA0KICAgIGZhY2UgPSAiYm9sZCIsDQogICAgY29sb3VyID0gImJsYWNrIiwNCiAgICBoanVzdCA9IDAuNQ0KICApICsNCiAgc2NhbGVfZmlsbF92aXJpZGlzX2Mob3B0aW9uID0gInBsYXNtYSIsDQogICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IC0xLA0KICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBwZXJjZW50X2Zvcm1hdChzY2FsZSA9IDEpKSArDQogIGdndGhlbWVzOjp0aGVtZV9wYW5kZXIoKSArDQogIGxhYnModGl0bGUgPSAiUG9yY2VudGFqZSBkZSB0aXR1bGFyZXMgcG9yIHByb3ZpbmNpYSIsDQogICAgICAgc3VidGl0bGUgPSAiRW4gYmFzZSBhIHByb3llY2Npb25lcyBkZSBJTkRFQyIsDQogICAgICAgZmlsbCA9ICJQb3JjZW50YWplIikgKw0KICB0aGVtZSgNCiAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KHNpemUgPSAxNkwsIGZhY2UgPSAiYm9sZCIsIGhqdXN0ID0gMC41KSwNCiAgICBwbG90LnN1YnRpdGxlID0gZWxlbWVudF90ZXh0KHNpemUgPSAxNEwsIGZhY2UgPSAiaXRhbGljIiwgaGp1c3QgPSAwLjUpLA0KICAgIHRleHQgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEpDQogICkgKw0KICB5bGFiKCIiKSArDQogIHhsYWIoIiIpICsNCiAgZmFjZXRfd3JhcCh2YXJzKGFubykpICAgIyBBw7FhZGUgc2NhbGVzID0gImZyZWUiIHBhcmEgYWp1c3RhciBsYXMgZXNjYWxhcyBkZSBsb3MgZWplcyBlbiBjYWRhIHBhbmVsDQoNCg0KZ2dzYXZlKHBsb3QgPSBtYXBhX25hYywgImdyYWZpY29zL21hcGEtcG9yYy10aXR1bGFyZXMteC1wb2JsYWNpb24ucG5nIikNCg0KbWFwYV9wb2IgfD4gDQogIGdyb3VwX2J5KGFubykgfD4gDQogIHN1bW1hcmlzZSh0b3RhbCA9c3VtKHRvdF90aXR1bGFyZXMpLA0KICAgICAgICAgICAgdG90YWxfcG9iID1zdW0ocG9ibGFjaW9uKSwNCiAgICAgICAgICAgIHRvdF9wcm9wID0gcm91bmQoKHRvdGFsL3RvdGFsX3BvYikqMTAwLDEpKSB8PiANCiAgc2VsZWN0KC1nZW9tZXRyeSkgfD4gDQogIGthYmxlRXh0cmE6OmthYmxlKCkNCg0KDQptYXBhX25hY19pbnRlcmFjdGl2byA8LSBnZ3Bsb3QobWFwYV9wb2IpICsNCiAgZ2VvbV9zZihhZXMoZmlsbCA9IHByb3BfcG9ubGFjaW9uYWwsIHRleHQgPSBwYXN0ZSgiUHJvdmluY2lhOiIsIGp1cmlfbm9tYnJlLCAiPGJyPlBvcmNlbnRhamU6IiwgcHJvcF9wb25sYWNpb25hbCwgIiUiKSkpICsNCiAgc2NhbGVfZmlsbF92aXJpZGlzX2Mob3B0aW9uID0gInBsYXNtYSIsDQogICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IC0xLA0KICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBwZXJjZW50X2Zvcm1hdChzY2FsZSA9IDEpKSArDQogIGdndGhlbWVzOjp0aGVtZV9wYW5kZXIoKSArDQogIGxhYnModGl0bGUgPSAiUG9yY2VudGFqZSBkZSB0aXR1bGFyZXMgcG9yIHByb3ZpbmNpYSBlbiBiYXNlIGEgcHJveWVjY2lvbmVzIGRlIElOREVDIiwNCiAgICAgICBmaWxsID0gIlBvcmNlbnRhamUiKSArDQogIHRoZW1lKA0KICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE2TCwgZmFjZSA9ICJib2xkIiwgaGp1c3QgPSAwLjUpLA0KICAgIHBsb3Quc3VidGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE0TCwgZmFjZSA9ICJpdGFsaWMiLCBoanVzdCA9IDAuNSksDQogICAgdGV4dCA9IGVsZW1lbnRfdGV4dChzaXplID0gMSkNCiAgKSArDQogIHlsYWIoIiIpICsNCiAgeGxhYigiIikgKw0KICBmYWNldF93cmFwKHZhcnMoYW5vKSkNCg0KZ2dwbG90bHkobWFwYV9uYWNfaW50ZXJhY3Rpdm8sIHRvb2x0aXAgPSAidGV4dCIpDQpgYGANCg0KDQpNYXBhIFByb3ZpbmNpYWwNCg0KYGBge3J9DQojcGFyYSB2ZXIgY3VhbCBlcyBlbCBjb2RpZ28NCiNjb2RpZ29zX21hcGEgPC0gc2hvd19hcmdfY29kZXModmlld2VyID0gRkFMU0UsIG5pdmVsID0gInByb3ZpbmNpYXMiKQ0KIyBUcmFpZ28gZWwgbWFwYSBkZSBhcmdlbnRpbmEgY29uIHByb3ZpbmNpYXMNCm1hcGFfYmEgPC0gZ2V0X2dlbygiQlVFTk9TIEFJUkVTIiwgbGV2ZWwgPSAiZGVwYXJ0YW1lbnRvIikgDQoNCiNUcmFpZ28gbGEgcHJveWVjY2lvbiBwb2JsYWNpb25hbCBkZSBJTkRFQyBxdWUgaGljZSBwYXJhIGxhIG1hdGVyaWEgZGUgc2FsdWQgZGUgUiBkZSBNR0FJRQ0KDQpiYV9kZXB0b19pbmRlYyA8LSByZWFkX2V4Y2VsKCJkYXRhL3Byb3llY2Npb25lc19kZXB0b19pbmRlYy54bHN4IikgfD4gDQogIGNsZWFuX25hbWVzKCkgfD4gDQogICMgZmlsdHJvIHBvciBwcm92aW5jaWEgZGUgYnVlbm9zIGFpcmVzDQogIGZpbHRlcihqdXJpX2NvZGlnbyA9PSAiMDYiKSB8PiANCiAgIyBtZSBxdWVkbyBjb24gbGEgaW5mbyBkZSBhbWJvcyBzZXhvcw0KICBmaWx0ZXIoc2V4b19ub21icmUgPT0gIkFtYm9zIHNleG9zIikgfD4gDQogICNGaWx0cm8gbG9zIGHDsW9zDQogIGZpbHRlcihhbm8gJWluJSBjKDIwMjAsIDIwMjEsIDIwMjIpKSB8PiANCiAgcmVuYW1lKCJwcm92aW5jaWFfaWQiID0ganVyaV9jb2RpZ28pDQoNCiMgVGl0dWxhcmVzIA0KdGl0dWxhcmVzX2JhIDwtIHRpdHVsYXJlc19hbm8gfD4gDQogICMgRmlsdHJvIGxvcyBkZSBidWVub3MgYWlyZXMNCiAgZmlsdGVyKHByb3ZpbmNpYV9pZCA9PSAiMDYiKSB8PiANCiAgIyBDcmVvIHVuYSBjb2x1bW5hIGNvbiBlbCBjb2RpZ28gc2luIGVsIDA2IGRlIGxhIHByb3ZpbmNpYSBwYXJhIHBvZGVyIG1hdGNoZWFyIGNvbiBlbCBjZW5zbw0KICBtdXRhdGUoZGVwYXJ0YW1lbnRvX2NvZGlnbyA9IHN1YnN0cihkZXBhcnRhbWVudG9faWQsIDMsIG5jaGFyKGRlcGFydGFtZW50b19pZCkpLA0KICAgICAgICAgYW5vID0gYXMuY2hhcmFjdGVyKHllYXIocGVyaW9kbykpKSANCg0KIyBVbm8gYW1iYXMgYmFzZXMgcGFyYSBwb2RlciBvcGVyYXINCm1hcGFfcGJhIDwtIGJhX2RlcHRvX2luZGVjIHw+IA0KICBsZWZ0X2pvaW4odGl0dWxhcmVzX2JhIHw+IA0KICAgICAgICAgICAgICBzZWxlY3QoLWMobXVuaWNpcGlvLCBtdW5pY2lwaW9faWQsIA0KICAgICAgICAgICAgICAgICAgICAgICAgZGVwYXJ0YW1lbnRvX2lkLA0KICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmluY2lhLA0KICAgICAgICAgICAgICAgICAgICAgICAgZGVwYXJ0YW1lbnRvKSkpIHw+IA0KICBtdXRhdGUocG9yY2VudGFqZSA9ICh0aXR1bGFyZXMvcG9ibGFjaW9uKSoxMDApIA0KDQpiYXNlX2ZpbmFsX3BiYSA8LSBtYXBhX2JhIHw+IA0KICBsZWZ0X2pvaW4obWFwYV9wYmEgfD4gDQogIHNlbGVjdChkZXBhcnRhbWVudG9fbm9tYnJlLGRlcGFydGFtZW50b19jb2RpZ28sIGFubywgcG9yY2VudGFqZSkgfD4gDQogICAgcmVuYW1lKCJjb2RkZXB0b19jZW5zbyIgPSBkZXBhcnRhbWVudG9fY29kaWdvKSB8PiANCiAgICBmaWx0ZXIoISBhbm8gPT0gIjIwMjEiKSkNCg0KDQp0YWJsYV9wYmEgPC0gbWFwYV9wYmEgfD4gDQogIHNlbGVjdChkZXBhcnRhbWVudG9fbm9tYnJlLCBhbm8sIHBvYmxhY2lvbiwgdGl0dWxhcmVzLCBwb3JjZW50YWplKSB8PiANCiAgcGl2b3Rfd2lkZXIobmFtZXNfZnJvbSA9IGFubywgdmFsdWVzX2Zyb20gPSBjKHBvYmxhY2lvbiwgdGl0dWxhcmVzLCBwb3JjZW50YWplKSkgDQoNCkRUOjpkYXRhdGFibGUodGFibGFfcGJhKQ0KDQp3cml0ZXhsOjp3cml0ZV94bHN4KHRhYmxhX3BiYSwgImJhc2VzLXBhcmEtY3luL3RhYmxhX3BiYS54bHN4IikNCmBgYA0KDQoNCmBgYHtyfQ0KDQptYXBhX2J1ZW5vc19haXJlcyA8LSBiYXNlX2ZpbmFsX3BiYSB8PiANCiAgZ2dwbG90KCkgKw0KICBnZW9tX3NmKGFlcyhmaWxsID0gcG9yY2VudGFqZSwgdGV4dCA9IHBhc3RlKCJEZXBhcnRhbWVudG86IiwgZGVwYXJ0YW1lbnRvX25vbWJyZSwgIjxicj5Qb3JjZW50YWplOiIsIHJvdW5kKHBvcmNlbnRhamUsMSksICIlIikpKSArDQogIHNjYWxlX2ZpbGxfdmlyaWRpc19jKG9wdGlvbiA9ICJwbGFzbWEiLA0KICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSAtMSwNCiAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxzID0gcGVyY2VudF9mb3JtYXQoc2NhbGUgPSAxKSkgKw0KICBnZ3RoZW1lczo6dGhlbWVfcGFuZGVyKCkgKw0KICBsYWJzKHRpdGxlID0gIlBvcmNlbnRhamUgZGUgdGl0dWxhcmVzIHBvciBkZXBhcnRhbWVudG8iLA0KICAgICAgIHN1YnRpdGxlID0gIkVuIGJhc2UgYSBwcm95ZWNjaW9uZXMgZGUgSU5ERUMiLA0KICAgICAgIGZpbGwgPSAiUG9yY2VudGFqZSIpICsNCiAgdGhlbWUoDQogICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTZMLCBmYWNlID0gImJvbGQiLCBoanVzdCA9IDAuNSksDQogICAgcGxvdC5zdWJ0aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTRMLCBmYWNlID0gIml0YWxpYyIsIGhqdXN0ID0gMC41KSwNCiAgICB0ZXh0ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxKQ0KICApICsNCiAgeWxhYigiIikgKw0KICB4bGFiKCIiKSArDQogIGZhY2V0X3dyYXAodmFycyhhbm8pKSAgICMgQcOxYWRlIHNjYWxlcyA9ICJmcmVlIiBwYXJhIGFqdXN0YXIgbGFzIGVzY2FsYXMgZGUgbG9zIGVqZXMgZW4gY2FkYSBwYW5lbA0KDQojbWFwYV9idWVub3NfYWlyZXMNCg0KZ2dzYXZlKHBsb3QgPSBtYXBhX2J1ZW5vc19haXJlcywgImdyYWZpY29zL21hcGFfYnVlbm9zX2FpcmVzLnBuZyIpDQoNCiMgTG9zIGRhdG9zIHRvdGFsZXMgZGUgbGEgcHJvdmluY2lhDQptYXBhX3BiYSB8PiANCiAgZ3JvdXBfYnkoYW5vKSB8PiANCiAgc3VtbWFyaXNlKHRvdGFsID1zdW0odGl0dWxhcmVzKSwNCiAgICAgICAgICAgIHRvdGFsX3BvYiA9c3VtKHBvYmxhY2lvbiksDQogICAgICAgICAgICB0b3RfcHJvcCA9IHJvdW5kKCh0b3RhbC90b3RhbF9wb2IpKjEwMCwxKSl8PiANCiAga2FibGVFeHRyYTo6a2FibGUoKQ0KDQoNCg0KZ2dwbG90bHkobWFwYV9idWVub3NfYWlyZXMsIHRvb2x0aXAgPSAidGV4dCIpDQpgYGANCg0KIyMgTW9udG9zIA0KDQpgYGB7cn0NCiMgRmlsdHJvIGVsIG1vbnRvIHBvciBwb3RlbmNpYXIgdHJhYmFqbw0KbW9udG9zX3ZpZ2VudGVzIDwtIHJlYWRfY3N2KCJodHRwczovL2RhdG9zYWJpZXJ0b3MuZGVzYXJyb2xsb3NvY2lhbC5nb2IuYXIvZGF0YXNldC8yZmJmYjNlMi1jZDBhLTRkMWItYWMzYi04OTMyNmU4ZTRmOWMvcmVzb3VyY2UvNjc3ODM5NmUtNzVmNy00ZmNlLWFjNjUtOTdkMWU1ZTQ1MjVlL2Rvd25sb2FkL21vbnRvcy10cmFuc2ZlcmVuY2lhcy0yMDIzLTAxLTAxLmNzdiIpIHw+IA0KICBmaWx0ZXIocHJvZ3JhbWEgPT0gIlBvdGVuY2lhciBUcmFiYWpvIikgfD4gDQogIG11dGF0ZShwZXJpb2RvID0gZm9ybWF0LkRhdGUocGVyaW9kbywgIiVtLyVZIikpDQoNCg0KIyBUcmFpZ28gZWwgSVBDIGRlIElOREVDIHBhcmEgcGFzYXIgbHMgbW9udG9zIGEgcHJlY2lvcyByZWFsZXMNCg0KaXBjIDwtIHJlYWRfZXhjZWwoImRhdGEvc2hfaXBjXzA5XzIzLnhscyIsIA0KICAgIHNoZWV0ID0gImFuYWxpc2lzX3BvdGVuY2lhciIpIHw+DQogIGNsZWFuX25hbWVzKCkgfD4gDQogIG11dGF0ZShwZXJpb2RvID0gZm9ybWF0LkRhdGUoZmVjaGEsICIlbS8lWSIpKSB8PiANCiAgc2VsZWN0KC1mZWNoYSkgfD4gDQogIHJlbmFtZSgiaXBjIiA9IG5pdmVsX2dlbmVyYWwpIHw+IA0KICByaWdodF9qb2luKG1vbnRvc192aWdlbnRlcykgfD4gDQogIG11dGF0ZShtb250b19yZWFsID0gbW9udG8vaXBjLA0KICAgICAgICAgcGVyaW9kbyA9IGFzLkRhdGUocGFzdGUoIjAxLyIsIHBlcmlvZG8sIHNlcCA9ICIiKSwgZm9ybWF0ID0gIiVkLyVtLyVZIikpDQoNCg0KDQpgYGANCg0KYGBge3J9DQoNCiMgQXJtbyBncmFmaWNvIGRlbCBJUEMNCg0KbGluZWFfaXBjIDwtIGdncGxvdChpcGMpICsNCiAgYWVzKHggPSBwZXJpb2RvLCB5ID0gbW9udG9fcmVhbCkgKw0KICBnZW9tX2xpbmUoKSArDQogIGdlb21fcG9pbnQoKSArDQogIGxhYnMoDQogICAgeCA9ICIgIiwNCiAgICB5ID0gIiAiLA0KICAgIHRpdGxlID0gIkV2b2x1Y2nDs24gZGUgbG9zIG1vbnRvcyBkZWwgcHJvZ3JhbWEgKDIwMjAtMjAyMikiLA0KICAgIGNhcHRpb24gPSAiRnVlbnRlOiBFbGFib3JhY2nDs24gcHJvcGlhIGVuIGJhc2UgYWwgSVBDIGRlIElOREVDIiwNCiAgKSArDQogIGdndGhlbWVzOjp0aGVtZV9wYW5kZXIoKSArDQogIHRoZW1lKA0KICAgIGxlZ2VuZC5wb3NpdGlvbiA9ICJ0b3AiLA0KICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE1TCwgZmFjZSA9ICJib2xkIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhqdXN0ID0gMC41KSwNCiAgICBwbG90LnN1YnRpdGxlID0gZWxlbWVudF90ZXh0KHNpemUgPSAxNEwsIGZhY2UgPSAiaXRhbGljIiwgaGp1c3QgPSAwLjUpDQogICkgKw0KICBzY2FsZV94X2RhdGUoZGF0ZV9sYWJlbHMgPSAiJWItJXkiLCBkYXRlX2JyZWFrcyA9ICIzIG1vbnRocyIpICsNCiAgc2NhbGVfeV9jb250aW51b3VzKGxhYmVscyA9IGNvbW1hLCBsaW1pdHMgPSBjKDAsNTApKQ0KDQoNCmdnc2F2ZShwbG90ID0gbGluZWFfaXBjLCAiZ3JhZmljb3MvbGluZWFfaXBjLnBuZyIpDQoNCmdncGxvdGx5KGxpbmVhX2lwYykNCmBgYA0KDQpodHRwczovL3d3dy5pbmRlYy5nb2IuYXIvaW5kZWMvd2ViL05pdmVsNC1UZW1hLTMtNS0zMQ==